package com.liuyjy.observer;

import java.util.ArrayList;
import java.util.List;

/**
 * @Author liuyjy
 * @Date 2025/2/19 12:55
 * @Description: 观察者模式定义一对多的依赖，当一个对象状态变化时，所有依赖它的对象都会收到通知。
 * 事件通知模拟微博用户的粉丝通知。
 **/
public class Weibo {
    private final List<Observer> observers = new ArrayList<>();

    public void follow(Observer observer) {
        observers.add(observer);
    }

    public void post(String message) {
        for (Observer observer : observers) {
            observer.update(message);
        }
    }
}
